| cwdaemon - main pageAboutcwdaemon is a small daemon which uses the pc parallel
	      or serial port and a simple transistor switch to output
	      morse code to a transmitter from a text message sent to
	      it via udp port 6789. The program also uses the
	      soundcard or PC speaker (console buzzer) to generate a
	      sidetone. Up until version 0.9.4 this software has been developed
	      and maintained by Joop Stakenborg.  Currently the
	      software is being developed by Kamil Ignacak. cwdaemon is developed and tested mainly on GNU/Linux
	      system. News2024.08.03 - completely migrating to
	      GitHub before making a release 0.13.0After today, neither this page nor a code in repository at
	      sf.net will be updated. All activities will take place
	      exclusively
	      at https://github.com/acerion/cwdaemon/. GitHub has been the home of cwdaemon since some time, now I'm
	      completing the move to that platform. 
 
 
 2023.05.21 - release of cwdaemon 0.12.0Changes since previous release: 
	      
		Making handling of command line options more strict
		
 cwdaemon is more likely to exit when it discovers unrecognized tokens in
		  command line.
		 This change is introduced to detect incorrect usage of "-o" command line
		  option. Each option for keying device should be passed through separate
		  "-o" option.
		 
		  Incorrect: cwdaemon -d /dev/ttyUSB0 -o key=DTR ptt=none
		  Correct:   cwdaemon -d /dev/ttyUSB0 -o key=DTR -o ptt=none
 
		  The behaviour of "-o" option itself is not changing. Only the overall
		  parsing of command line options is changing to catch this incorrect
		  situation.
		
		Init system files have been updated with handling of keying device option
		
 
		  The "-o"/"--options" command line option has been introduced in cwdaemon
		  0.11.0. In this release the init files for cwdaemon (/etc/init.d/cwdaemon
		  and /etc/default/cwdaemon) are updated to support the new command line
		  option. The files are located in debian/ directory in cwdaemon repo.
		
		Fixing memory problems occurring when handling tty device options
		
 
		  Small, one-time memory allocation was not followed by deallocation.
		 
		  According to valgrind, a section of code may have relied on uninitialized
		  member of allocated struct.
		
		"cwdaemon -V" now prints information about used libcw library
		
 
		  In addition to printing version of cwdaemon program, the command also
		  prints version of used libcw library (this is a run-time information, not a
		  compile-time information).
		 
		  This change should help me with debugging users' problems:
		  I will be able to set up an environment similar to used by
		  users reporting problems.
		
		Keying device used by cwdaemon can be now specified by a full path
		
 
		  Till now "-d"/"--cwdevice" command line option accepted only device name
		  (e.g. "ttyS0"). Starting with this release, the device can be also
		  specified by a full path to device in /dev/ dir (e.g. "/dev/ttyS0").
		 
		  The change also impacts "<ESC>8" escaped request.
		 
		  This change should help avoiding problems with specifying a keying device.
		
		Adding error messages in code that tries to open a keying device (tty or lp
		device)
		
 
		  This change should help with debugging of issues with keying devices in
		  users' env.
		
		Format of log messages has been adjusted
		
 
		  
		    Tags indicating message priority, printed at the beginning of message,
		    are now [ERROR], [WARN ], [INFO ], [DEBUG].
		  
		    The messages first show priority tag, and then package name (e.g.
		    [ERROR] cwdaemon: some text).
		  
		    Consistency of format of messages has been improved.
		  
 
		Adding Doxygen configuration file
	      
 
		Adding "make check" command
		
 
		  The command compiles and runs unit tests. The unit tests have been added in
		  this release to quickly test some functionalities of cwdaemon. The unit
		  tests don't require any additional infrastructure (e.g. a keying device)
		  and they don't depend on any additional libraries or programs. This means
		  that they can be executed anywhere, at any time.
		 
		  At this moment the unit tests only cover two newly added utility functions.
		
		Compiling and testing on following platforms:
		
 
		  Debian GNU/Linux 11.7, x86_64, gcc 10.2.1, libcw 6.6.1 (unixcw 3.5.1-4)Alpine Linux 3.17, x86_64, gcc 12.2.1, libcw 7.0.0 (unixcw 3.6.0)FreeBSD 13.2-RELEASE, amd64, gcc 12.2.0, libcw 7.0.0 (unixcw 3.6.0) 
 
 
 2022.03.26 - release of cwdaemon 0.11.0Changes since previous release: 
	      
		Implementing an "-o" option for flexible assignment of keying and ptt lines to RTS/DTR lines.
		GitHub pull request: https://github.com/acerion/cwdaemon/pull/3
		Fixing GitHub issue #6: "cwdaemon stops working after esc 0 (reset) is issued".
		GitHub issue: https://github.com/acerion/cwdaemon/issues/6
		Fixing few minor issues found through static code analysis.
	      
		Testing cwdaemon against libcw 7.0.0 from unixcw
		3.6.0.
	      
		Compiling and testing on following platforms:
		
		  Debian GNU/Linux 11, x86_64, gcc 10.2.1, libcw 7.0.0 (unixcw 3.6.0)Alpine Linux 3.15, x86_64, gcc 10.3.1, libcw 7.0.0 (unixcw 3.6.0)Ubuntu 18.04.6 LTS, x86_64, gcc 7.5.0, libcw 7.0.0 (unixcw 3.6.0) 
 2015.10.07 - release of cwdaemon 0.10.2Changes since previous release: 
	      
		Copying the repository to github.com. github will be
		now the new home of cwdaemon.
	      
		Testing cwdaemon against libcw 6.5.1 from unixcw
		3.5.0.
	      
		Compiling and testing on following platforms:
		
		  Debian GNU/Linux 8 jessie/sid, x86_64, gcc 4.9.2;Alpine Linux 3.1, x86_64, gcc 4.8.3, musl 1.1.5;FreeBSD 10.0, x86_64, clang 3.3;
		Fixing compilation error found during tests on Alpine
		Linux.
	      
		Improving test sets (test/ directory).
	      
		Improving examples of interfacing cwdaemon (examples/ directory).
	       
 2014.04.23 - release of cwdaemon 0.10.1Changes since previous release: 
	      Fixing bug #1 reported by Pino Zollo ZP4KFX:
		cwdaemon failed to properly respond to <ESC>f
		Escape request. Attempting to change sound system used
		by cwdaemon caused the program to completely go silent
		and to not to send replies.
	      Fixing bug #2 also reported by Pino Zollo ZP4KFX:
		cwdaemon has been sending replies too early, sometimes
		right after starting to play Morse characters
		(i.e. not waiting for end of playing the
		characters). This problem has been fixed by changes in
		cwdaemon source code, as well as by changes in
		unixcw/libcw source code (this is why you should use
		libcw version 6.1.1).
	      Fixing bug #3 also reported by Pino Zollo ZP4KFX:
		description of escaped request for word mode in man
		page has been incorrect (wrong code of request). This
		has been fixed.
	      Fixing bug #4, this one discovered by me: cwdaemon
		failed to correctly close network socket at exit. This
		has been fixed.
	       Many thanks to Pino Zollo ZP4KFX for reporting bugs in
	      cwdaemon 0.10.0 and taking time to test fixes. 
 2014.01.15 - release of cwdaemon 0.10.0Changes since previous release: 
	      Empty name of keying device sent with "8" network
		request shouldn't cause cwdaemon to crash
		anymore. Handling of empty/invalid keying device name
		has been improved.
	      Until now if cwdaemon was called with invalid /
		unsupported / non-available sound system, it could
		start with misconfigured sound system. Now cwdaemon
		exits when it cannot open a sound system during start.
	      When cwdaemon receives "switch to sound system X"
		network request, and it fails to correctly switch to
		the sound system, it falls back to "Null" audio
		system. The fall back eliminates possibility of
		crashing on attempt to use uninitialized sound system.
	      Handling of "ptt delay" parameter has changed. Until
		now when value sent in network request was negative,
		the delay has been set to MAX.  Now the negative value
		sent with network request is ignored.  When the
		negative value has been passed through command line
		argument, cwdaemon exits.
	      Debug strings can be now printed to stdout (default,
		was already available), stderr, or disc file. Check -f
		/ --debugfile command line option for more
		information.
	      Verbosity level of debug messages can be controlled
		with command line options.
	      cwdaemon now accepts --long-options on systems that
		support this functionality.
	      Help text printed when calling cwdaemon with "-h"
		command line argument has been expanded.
	      Man page for cwdaemon has been expanded.
	       Older news
 More informationcwdaemon is a free
		software, released under GNU General Public License v2.0. The latest code is available at github. Older information is available on SourceForge project page. You can contact with current developer and maintainer of this
	      software using this e-mail address: acerion at wp dot pl. 
 Copyright (C) 2012 - 2024 Kamil Ignacak |